package cn.iocoder.yudao.module.system.api.push.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data
public class PushManageRespDTO {
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "推送名称")
    private String pushName;

    @ApiModelProperty(value = "推送类型")
    private Long type;

    @ApiModelProperty(value = "推送对象 0 全部 1企业 2学生")
    private Long pushObject;

    @ApiModelProperty(value = "推送对象id集合 json")
    private String pushObjectId;

    @ApiModelProperty(value = "推送模块 messageType表")
    private Long pushModule;

    @ApiModelProperty(value = "执行时间")
    private int actionTime;

    @ApiModelProperty(value = "0每天 1每周 2每月")
    private Long actionFrequency;

    @ApiModelProperty(value = "开始时间")
    @NotNull(message = "开始时间不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @NotNull(message = "结束时间不能为空")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date endTime;

    @ApiModelProperty(value = "标题")
    @NotNull(message = "标题不能为空")
    private String title;

    @ApiModelProperty(value = "内容")
    @NotNull(message = "内容不能为空")
    private String messageText;

    @ApiModelProperty(value = "当日执行次数")
    private Integer actionNum;

    @ApiModelProperty(value = "发送消息类型")
    private String messageType;

    @ApiModelProperty(value = "推送对象类型 0全部 1部分")
    private Long pushObjectType;

    @ApiModelProperty(value = "是否发送短信")
    private Integer isSms;
}
